#include <stdio.h>
#include <stdlib.h>
void selectionSort(int arr[], int n) 
{
    int i,j,min,temp;
    for ( i = 0; i < n - 1; i++) 
    {
         min = i; // 记录最小值的索引

        // 在未排序部分中找到最小值的索引
        for ( j = i+1; j < n; j++) 
        {
            if (arr[j] < arr[min])
            {
                min = j;
            }
        }

        // 将最小值与当前位置交换
        temp = arr[min];
        arr[min] = arr[i];
        arr[i] = temp;
    }
}

int main() 
{
    int n,i;
    printf("请输入分配的内存数\n");
    scanf("%d",&n);
    getchar();

    int *arr=(int*)malloc(n*sizeof(int));
   
    
    for( i=0;i<n;i++)
    {
        printf("输入第%d个数据\n",i);
        scanf("%d",arr+i);
        getchar();

    }

    printf("原始数组：");
    for ( i = 0; i < n; i++)
    {
        printf("%d ", arr[i]);
    }
    putchar(10);

    selectionSort(arr, n);

    printf("排序后的数组：");
    for (i = 0; i < n; i++)
    {
        printf("%d ", arr[i]);
    }
    putchar(10);

    return 0;
}
